
let services = require("./serverices");
//去权限管理/账号管理
 let account = require("./contorel/index");
let express = require('express');  // 导入express
let app = express(); // 创建一个web服务器
const cors = require('cors')
const http = require('http');

// 设置跨域
app.use(express.json());
app.use(cors()); //允许所有来源的请求
app.all('*', (req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS, PUT');
  res.header("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization, sessionToken, Token");
  next();
});

const server = http.createServer(app);


account.websocket()
// 启动服务器
server.listen(9527,() => {
  console.log("App listening on port 9527");
});



app.get('/news', async function(req, res){
   // req请求对象，可以获取请求传递过来的信息
   // res响应对象，通过该对象可以控制响应的消息内容
  const {page= 1,limit= 10,keyword = ''} = req.query
  let result = await services.newsService.getNews(page, limit, keyword);
   res.send({ code: 200, message: "请求成功",data: result });

})

// 删除新闻的路由
app.delete('/news/:id', async function(req, res) {
  const { id } = req.params; // 从URL参数中获取新闻ID
  try {
    let success = await services.newsService.deleteNews(id); // 调用服务函数删除新闻
    if (success) {
      res.send({ code: 200, message: "删除成功" });
    } else {
      res.send({ code: 404, message: "新闻未找到" });
    }
  } catch (error) {
    res.send({ code: 500, message: "服务器错误", error: error.message });
  }
});

// 登录接口
app.get('/login',async  function(req, res){
  // 生成JWT
  const token = new Date().getTime();
  // 获取当前时间的时间戳（毫秒）

// 将时间戳转换回 Date 对象
  const date = new Date(token);

// 提取年、月、日
  const year = date.getFullYear();
  const month = date.getMonth() + 1; // 月份是从0开始的，所以需要加1
  const day = date.getDate();

// 格式化输出年月日（例如：2023-10-05）
  const formattedDate = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;

  console.log(formattedDate);
  const {loginId,loginPwd} = req.query
  let result = await services.userService.login({loginId,loginPwd});
  console.log('数据',result)
  if(result){
    return res.send({ code: 200, message: '登录成功', data:{result,formattedDate}, token } );
  }else {
    return res.send({ code: 400, message: '用户名或密码错误'});
  }

})
//去权限管理/账号管理
account.accountData(app,services)




